package com.ibeeking.found.msg.service.common.param;

import com.ibeeking.nematos.utils.base.BaseValidationGroup;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @ClassName WxMpGroupMessageParam
 * @Description
 * @Author ibeeking
 * @Date 2020-12-25 11:20
 **/
@Data
@Accessors(chain = true)
public class WxMpGroupMessageParam implements Serializable {
private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@NotNull(message = "Id不能为空", groups = {BaseValidationGroup.Update.class})
	private Long id;

	/**
	 * 关联微信公众号id
	 */
	private String appId;

	/**
	 * 全部用户发送
	 */
	@NotNull(message = "是否发送全部用户不能为空", groups = {BaseValidationGroup.Update.class, BaseValidationGroup.Insert.class})
	private Integer allSend;

	/**
	 * 消息类型
	 */
	@NotNull(message = "消息类型不能为空", groups = {BaseValidationGroup.Update.class, BaseValidationGroup.Insert.class})
	private Integer messageType;

	/**
	 * 消息类型字符串
	 */
	@NotNull(message = "消息类型明文不能为空", groups = {BaseValidationGroup.Update.class, BaseValidationGroup.Insert.class})
	private String messageTypeString;

	/**
	 * 内容
	 */
	private String content;

	/**
	 * 消息发送状态
	 */
	private Integer sendStatus;

	/**
	 * 发送总数
	 */
	private Long sendCount;

	/**
	 * 过滤后总数
	 */
	private Long filterCount;

	/**
	 * 发送成功总数
	 */
	private Long successCount;

	/**
	 * 发送失败总数
	 */
	private Long failedCount;

	/**
	 * 微信端媒体Id
	 */
	private String mediaId;

	/**
	 * 本地媒体Id
	 */
	private Long localMediaId;

	/**
	 * 当系统判断为转载是否还转发
	 */
	@NotNull(message = "系统判断为转发是否发送不能为空", groups = {BaseValidationGroup.Update.class, BaseValidationGroup.Insert.class})
	private Integer sendIgnoreReprintl;

	private Long createBy;

	private Long modifyBy;

	/**
	 * 发送方式
	 */
	private String sendType;

	private Long batchNo;

	private String remark;

	/**
	 * 图片功能使用 推荐内容
	 */
	private String recommend;
	/**
	 * 图片功能使用 是否打开评论 1打开 2关闭
	 */
	private Integer needOpenComment;

	/**
	 * 图片功能使用 是否打开只允许粉丝评论
	 * 1打开 2关闭
	 */
	private Integer onlyFansCanComment;



}
